hysop.numerics.fft.host_fft module

OpenCl backend base interface for fast Fourier Transforms.

HostFFTI HostFFTPlanI HostFFTQueue

class hysop.numerics.fft.host_fft.DummyEvent[source]

Bases: object

classmethod wait()[source]
class hysop.numerics.fft.host_fft.HostFFTI(backend=None, allocator=None, **kwds)[source]

Bases: FFTI

Abstract base for FFT interfaces targetting Host backends.

Initializes the interface and default supported real and complex types.

classmethod default_interface(threads=None, backend=None, allocator=None, planner_effort=None, planning_timelimit=None, destroy_input=False, warn_on_allocation=True, warn_on_misalignment=True, error_on_allocation=False, **kwds)[source]

Get the default host FFT interface. Preferred interface is multithreaded MKL FFT with the TBB threading layer (does not work with Intel threading layer). On import error the interface falls back to a multithreaded FFTW interface with ESTIMATE planning effort.

classmethod ensure_callable(get_buffer)[source]
new_queue(tg, name)[source]

Return a FFTQueue object valid with this backend.

plan_accumulate(tg, src, dst)[source]

Plan an accumulation from src into dst.

plan_compute_energy(tg, fshape, src, dst, transforms, method='round', target=None, **kwds)[source]

Plan to compute energy from src array to dst array using given transforms, method (round or weighted) and numba target.

plan_copy(tg, src, dst)[source]

Plan a copy from src to dst.

plan_fill_zeros(tg, a, slices)[source]

Plan to fill every input slices of input array a with zeroes.

plan_transpose(tg, src, dst, axes)[source]

Plan a transpose from src to dst using given axes.

class hysop.numerics.fft.host_fft.HostFFTPlanI(verbose=False)[source]

Bases: FFTPlanI

Tag for FFT plans executing on host backend arrays.

class hysop.numerics.fft.host_fft.HostFFTQueue(name)[source]

Bases: FFTQueueI

An host fft queue is just a tuple of callable objects.

execute(wait_for=None)[source]

Execute all planned plans.